package com.testitems.config;

import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Configuration;

/**
 * <pre>
 * 全局公共缓存配置，这里只是针对一些公共的配置进行了 type 类型的配置
 * </pre>
 *
 * @author zhuqiang
 * @date 2019/5/23 10:32
 */
@EnableCaching
@Configuration
public class CacheManagerConfig {

    /**
     * <pre>
     * 这里的缓存都是最大存活时间，闲置时间是存活时间的一半
     * 闲置不使用则自动被驱逐
     * </pre>
     */
    public interface EhCacheNames {
        /**
         * 5 分钟缓存组
         */
        String CACHE_COMMON_5MINS = "common:cache:5m";
        /**
         * 10 分钟缓存组
         */
        String CACHE_COMMON_10MINS = "common:cache:10m";
        /**
         * 20 分钟缓存组
         */
        String CACHE_COMMON_20MINS = "common:cache:20m";
        /**
         * 30 分钟缓存组
         */
        String CACHE_COMMON_30MINS = "common:cache:30m";
        /**
         * 1 小时缓存组
         */
        String CACHE_COMMON_1HOUR = "common:cache:1h";
        /**
         * 2 小时缓存组
         */
        String CACHE_COMMON_2HOUR = "common:cache:2h";
    }
}
